CONTENTS | INDEX | PREV | NEXT
 FUNCTION
 DICE Preprocessor

 SYNOPSIS
 dcpp sourcefile [-o outfile] [-I includedir ...] options

 DESCRIPTION
 DCPP is a C preprocessor.  C code is first preprocessed, then
 compiled.  The preprocessing step resolves all # operators, like
 #define and #include, and generally prepares the C code for
 compilation.  Most programmers use dcc or VMake, and do not invoke
 dcpp directly.

 Dcpp automatically scans DINCLUDE:, DINCLUDE:PD/, and DINCLUDE:AMIGA/
 .  Any -I option directories are searched in sequence BEFORE dcpp's
 default search path. The last default directory, DINCLUDE:AMIGA/, may
 be modified with the -1.3, -2.0 and -3.0 options.

 Note that DINCLUDE:PD/  is meant to be a place to put public domain
 header files so as not to clutter the top level DINCLUDE: directory.

 As with all DCC commands, the space between the option and an
 associated file/dir argument is optional.

 The following symbols are defined by default

 Symbol        : Type        : Usage
 ==============+=============+=======================================
 __LINE__      : integer     : Current line number.
           : constant    :
 --------------+-------------+---------------------------------------
 __DATE__      : string      : Current date.
 --------------+-------------+---------------------------------------
 __TIME__      : string      : Current time.
 --------------+-------------+---------------------------------------
 __FILE__      : string      : Current file.
 --------------+-------------+---------------------------------------
 __BASE_FILE__ : string      : Base source file.  Allows an include
           :         : file to know which C file included it
 --------------+-------------+---------------------------------------
 __STDC__      : boolean     : Indicates ANSI compiler.
 --------------+-------------+---------------------------------------
 mc68000       : integer     : Indicates Motorola CPU.
           : constant    :
 --------------+-------------+---------------------------------------
 _DCC          : integer     : Indicates the DICE system.
           : constant    :
 --------------+-------------+---------------------------------------
 AMIGA         : integer     : Everyone's favorite computer.
           : constant    :
 --------------+-------------+---------------------------------------
 _FFP_FLOAT    : boolean     : Set if single precision floats are in
           :         : Fast Floating Point format
 --------------+-------------+---------------------------------------
 _SP_FLOAT     : boolean     : Set if single precision floats are in
           :         : IEEE-SING format (default).
 --------------+-------------+---------------------------------------

 -1.x  -2.x  -3.x
     Selects operating system revision compatibility for the
     Preprocessor.  If not specified, DCPP searches dinclude:amiga for
     amiga includes.  If specified, DCPP searches dinclude:amigaNN for
     the includes.

     DCC supports this option and passes it along to dcpp.  This
     allows developers to compile under any OS revision with the flick
     of an option.  (Note: DCC also sets a different amiga.lib based
     on these options).

  -d[#]  This option turns on DCPP debugging

 -ofile  This option sets the output file, otherwise stdout is used.

   -ffp  Passed from DCC, tells preprocessor to define _FFP_FLOAT.  If not
     specified, preprocessor defines _SP_FLOAT.  This exists to better
     support alternate floating point models in header files.

 -Dvar[=val]
     This option predefines a symbol or macro.

 -E file  specify stderr file, any errors are appended to file instead of
     to stdout.  Useful for batch compiles

 -U  This option undefines the following symbols:

     __STDC__ mc68000 _DCC AMIGA

 -Hprecomp=header
     Enable use/creation of precompiled header files.  See chapter for
     more information.

     -Ht:defs.m=defs.h

    -I0  This option causes DCPP to *NOT* include any default directories
     in the include search list.

 -I dir  This option adds the specified directory to the include search
     list.  A hanging slash on the end of the path is not required.
     The space is optional.

    -//  Enable C++ style // comments.  The remainder of the line after //
     is encountered is interpreted as a comment.  This differs from /*
     style commenting in that no explicit comment-terminator is
     required.

 -notri  Disable tri-graph scan pass.  Note that the tri-graph pass is
     implemented in assembly and does not slow down preprocessing in
     any noticeable fashion, you should not disable tri-graphs unless
     you need to.

    SEE ALSO
    dcc, dc1